[IA64] fix access rights in VHPT when itr.ar!=dtr.ar
authorawilliam@xenbuild2.aw <awilliam@xenbuild2.aw>
Tue, 20 Mar 2007 15:32:24 +0000 (09:32 -0600)
committerawilliam@xenbuild2.aw <awilliam@xenbuild2.aw>
Tue, 20 Mar 2007 15:32:24 +0000 (09:32 -0600)
commit1264150f8c2f288986f2e79bc45cc89f129b62c8
treeeef638262068315e70b601466bb8c2d64198ec9b
parentc2c88dd44c9cf8d15a42ba65ad39b0234b24fbe0
[IA64] fix access rights in VHPT when itr.ar!=dtr.ar

This is a workaround patch for Windows 2003 Server.
Windows (vcpu>=2) set itr[1].ar=3(RWX) but dtr[1].ar=2(RW).
It causes an impossible INST_ACCESS_RIGHTS interruption via VHPT
which is used for emulating TR.

Surprisingly, windows ordinarily accepts this interruption.
But windows sometimes crashes with the message 'PANIC_STACK_SWITCH'
owing to this interruption.

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
xen/arch/ia64/vmx/vmx_process.c
xen/arch/ia64/vmx/vtlb.c
xen/include/asm-ia64/vmmu.h